Aggregating access to and delivery of media content from multiple sources

ABSTRACT

An apparatus for providing customized viewing includes, a processor, system memory. The system memory includes a number of modules. The modules include a first receive module, a second receive module, a first link formulating module, a second link formulating module, a selection receive module, a content aggregate module, and an aggregate send module. The first receive module receiving a first media content from an antenna for over-the-air signals or other live broadcast signals. The second receive module receiving second media content using a network interface card. The first link formulating module formulating a first link for the first media content. The second link formulating module formulating formulate a second link for the second media content. The aggregate module aggregating the first link and the second link in a hybrid channel guide. The send module sending the hybrid channel guide to a device for presentation at a graphical user interface at the device. The selection receive module receiving a selection of the first link and the second link from the device. The content aggregate module aggregating the television content and the other media content into aggregated content. The aggregate send module sending the aggregated content to the device for presentation at the graphical user interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. patent application Ser. No. 62/556,347, filed on Sep. 9, 2017, which is incorporated in its entirety as if fully set forth herein. This application also claims priority from U.S. patent application Ser. No. 62/556,349, filed on Sep. 9, 2017, which is incorporated in its entirety as if fully set forth herein. This application also claims priority from U.S. patent application Ser. No. 62/556,351, filed on Sep. 9, 2017, which is incorporated in its entirety as if fully set forth herein.

BACKGROUND

With the advent of network connected televisions and monitors, customized viewing options are now available to consumers. A consumer may not only watch broadcast television, but may use a number of streaming Internet providers such as Netflix™, Amazon Prime™, YouTube™, or other streaming options. A user is no longer tied to a broadcaster that selects the time for viewing a program.

SUMMARY OF INVENTION

A computer system including a processor, system memory, and instructions. The instructions causing the computer system to perform a particular task. The instructions include causing the computer obtain television content via over-the-air or other live broadcast signals. The instructions include obtaining other media content over a network via network communication. The instructions include formulating a first link for the television content. The instructions include formulating a second link for the other media content. The instructions include aggregating the first link and the second link in a hybrid channel guide. The instructions include sending the hybrid channel guide to a device for presentation at a graphical user interface at the device. The instructions include receiving a selection of the first link and the second link from the device. The instructions include aggregating the television content and the other media content into aggregated content. The instructions include sending the aggregated content to the device for presentation at the graphical user interface.

An apparatus for providing customized viewing includes, a processor, system memory. The system memory includes a number of modules. The modules include a first receive module, a second receive module, a first link formulating module, a second link formulating module, a selection receive module, a content aggregate module, and an aggregate send module. The first receive module receiving a first media content from an antenna for over-the-air signals or other broadcast signals. The second receive module receiving second media content using a network interface card. The first link formulating module formulating a first link for the first media content. The second link formulating module formulating formulate a second link for the second media content. The aggregate module aggregating the first link and the second link in a hybrid channel guide. The send module sending the hybrid channel guide to a device for presentation at a graphical user interface at the device. The selection receive module receiving a selection of the first link and the second link from the device. The content aggregate module aggregating the television content and the other media content into aggregated content. The aggregate send module sending the aggregated content to the device for presentation at the graphical user interface.

A computer program product comprising a number of modules, each module causing a computer to perform a particular task. The computer program product includes a content receive module, a media receive module, a first link formulating module, a second link formulating module, a link aggregate module, a content aggregate module, and an aggregate content send module. The content receive module causes a computer to receive content. The content receive module may see an antenna associated with the computer. The media receive module may cause the computer to receive media content using a network interface card. The content receive module may receive over the air or live content broadcasts. The first link formulating module formulating a first link to content received by the content receive module. The second link formulating module formulating a second link to media content received by the media receive module. The link aggregate module aggregating the first link and the second link into an aggregated link. The aggregate link send module sending the aggregated link for display at a graphical user interface. The content aggregate module aggregating the content received by the content receive module and the content received by the media receive module. The aggregated content send module sending the aggregated content for presentation at the graphical user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description will be rendered by reference to specific implementations thereof which are illustrated in the appended drawings. Understanding that these drawings depict only some implementations and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates an example architecture for providing aggregated access to and delivery of media content locally.

FIG. 2 illustrates an example architecture for providing aggregated access to and delivery of media content over a network.

FIG. 3 illustrates a flow chart of an example method for aggregating access to and delivery of media content

FIG. 4 illustrates an example wireframe of a graphical user interface for aggregating access to media content from a plurality of different sources.

FIG. 5 illustrates a flow chart of another example method for aggregating access to and delivery of media content.

FIG. 6 illustrates an example architecture for providing aggregated media content along with wireless connectivity.

FIG. 7 illustrates a schematic of an aggregator.

DETAILED DESCRIPTION

Examples extend to apparatus, devices, methods, systems, and computer program products for aggregating access to and delivery of media content from multiple sources. The present invention generally relates to systems and methods for aggregating access to and delivery of media content over a network. More specifically, access to and delivery of media content from a plurality of different content sources, such as, for example, over-the-air Television (TV), over-the-top content, and on demand content can be aggregated over a graphical user interface (GUI).

The importance of Cable television is waning. With the rise of newer options from Netflix, Amazon, Sling, Sony, Hulu, as well as channel-specific distributions such as HBO Go, the age of bundled and unwanted services may be approaching an end. Indeed, more cable subscribers are cutting out the middle man in order to subscribe to individualized packages of particular content and/or platforms. Unbundling of content services advantageously permits users to customize their content. However, unbundling also increases the difficulty of and poses technical challenges in accessing and presenting media content from different sources. For example, it may be difficult to seamlessly access and present over-the-air channels, music, video on demand, social media data, Internet Protocol Television (IPTV), and gaming. Accordingly, aspects of the invention can be used to effectively aggregate access to and delivery of (e.g., customizable) media content for a user, across many end user devices.

In this description and the following claims, an “aggregator” is defined as hardware and/or software that interoperates to aggregate access to and delivery of media content via a display device. In some aspects, an aggregator is a general purpose computer, such as, for example, a Personal Computer (PC), tablet, mobile device or phone, or a specialized computer, such as, for example, a set top box, TV stick, or other thin client utilizing various operating system(s) and software for aggregating access to and delivery of media content to a user locally via a display device. In other aspects, an aggregator is an application server including services for aggregating access to and delivery of media content to a user over a network (e.g., the Internet). An aggregator can be used to render a seamless GUI that aggregates access to a plurality of different content sources.

Local Aggregation

FIG. 1 illustrates an example architecture 100 for providing aggregated access to and delivery of media content locally. As depicted, computer architecture 100 includes aggregator 110, network 130, over-the-air broadcast hardware 140, and display 150. Aggregator 110 can be deployed locally as a local media player and media content aggregator. Aggregator 110 can aggregate access to and delivery of media content from multiple sources.

As depicted, aggregator 110 includes CPU 111, communication interface 112, peripheral interface 113, memory 114, and antenna 116.

Over-the-air broadcast hardware can broadcast over-the-air (OTA) content 141. Antenna 116 can receive OTA content 141. Alternately, antenna 116 can be external to aggregator 110. Antenna 116 can receive OTA content 141 and OTA content 141 can be transferred to aggregator 110 via coaxial cable. Antenna 116 can be compatible for receiving one or more of: NTSC, ATSC, DVB-T and DVB signals.

Network 130 can be a local area network (LAN), wide area network (WAN) or even the Internet. Network 130 includes content sources 131. Content sources 131 can send (e.g., stream) over-the-top (OTT) content 142 to aggregator 110. Communication interface 112 can receive OTT content 142 from content sources 131.

OTA content 141 or portions thereof and/or OTT content 142 or portions thereof can be transmitted through peripheral interface 113 to display 150. Peripheral interface 113 can include an HDMI, DVI, VGI, DisplayPort, component, composite, S-Video, CoaXPress, HDBaseT, DiiVA, MHL, or other equivalent cable, WiFi, NFC, and other communication mechanisms known to those skilled in the art.

Additional connectors of aggregator 110 may comprise USB, RCA, RJ45, COAX, and interfaces for various input devices including but not limited to remotes and keyboards. User 151 can use the input devices to send input to aggregator 110.

Communication interface 112 can include a LTE chip or other equivalent cellular chip (e.g., WiMax, CDMA, EDGE, 5G, GPRS, GSM, etc.) for wireless communications and broadband access. Communication interface 112 can also include a Wi-Fi interface, a Bluetooth interface, or wired (e.g., Ethernet) interface.

Aggregator 110 can also include components for amplifying and/or control signals, including signals received via antenna 116.

Aggregator 110 can include an operating system, such as, for example, Android, iOS, Windows, Linux, etc. Aggregator 110 can include telephony components and input/output for providing voice over IP services. Aggregator 110 can a digital video recorder (DVR) or personal video recorder (PVR) to record various media content (e.g., stored in storage 115). The recorder can be structured and configured to capture a plurality of streams or content simultaneously.

In one aspect, aggregator 110 supports a plurality of antennas for separately receiving authorized content to separate residents living in close proximity.

Aggregator 110 can formulate links for accessing different content (e.g., different channels) in OTA content 141. Aggregator 110 can also formulate links for accessing content from different content sources (e.g., different applications, network locations, etc.) in OTT content 142. Aggregator 110 can aggregate the formulated links in aggregated content links 143. For example, aggregated links 143 can include links for one or more channels of OTA content 141 and links for one or more of content sources 131 (e.g., one or more applications, one or more network locations, etc.). Aggregator 110 can present aggregated content links 143 at display 150 through peripheral interface 113 (e.g., in a content (channel) guide).

User 151 can make selection 144 (of one or more of aggregated content links 143). Selection 144 can be sent to aggregator 110 through peripheral interface 113. Aggregator 110 can identify content 146 corresponding to any selected link. Aggregator 110 can send content 146 to display 150 through peripheral interface 113.

In one aspect, selection 144 selects multiple links from aggregated content links 143. Aggregator 110 identifies a content source corresponding to each selected link. Aggregator 110 aggregates the content from the identified content sources into content 146. For example, aggregator 110 can aggregate content from a channel of OTA content 141 and from an application of OTT content 142. Aggregator 110 can send aggregated content 146 to display 150 through peripheral interface 113.

And over all example according to FIG. 1 will now be given. The aggregator 110 uses an antenna 116 to receive broadcast media content from broadcast hardware 140. In this example, the broadcast content is a local sport game broadcast.

The aggregator 110 receives media content using a network interface card 112. In this example, the aggregator 110 receives a streaming movie from an Internet service provider acting as a content source 131.

The aggregator 110 creates a first link to the broadcast content, that in this example is a local sports game broadcast. The link provides a user 151 with information about the broadcast content.

The aggregator 110 creates a second link to media content where the media content is obtained using a network interface card 112 to receive information from content sources 131. In this example, the aggregator 110 receives a streaming movie from a content source 131.

The aggregator 110 aggregates the first link and the second link to create a hybrid channel guide. The hybrid channel guide provides a user 151 with information about viewing options.

The aggregator 110 sends the hybrid channel guide to a display 154 reviewing by the user 151. The aggregator 110 creates a custom viewing selection for each device or display.

The aggregator 110 receives a selection 144 from a user 151 based on interaction between the user 151 and the display 150.

The aggregator 110 then sends the requested content to the display 150. In this case the user selects the streaming movie from the content source 131. The movie is then displayed on the display 150.

Network Aggregation

FIG. 2 illustrates an example architecture 200 for providing aggregated access to and delivery of media content locally. As depicted, computer architecture 200 includes devices 201, aggregator 210, network 230, and over-the-air broadcast hardware 240. Aggregator 210 can aggregate access to and delivery of media content from multiple sources across multiple devices for multiple users.

As depicted, aggregator 210 includes CPU 211, communication interface 212, peripheral interface 213, memory 214, and antenna 216. In one aspect, aggregator 210 is included in a router that also provides wireless network connectivity to other devices.

Devices 201 can include a mobile device, a tablet, a computer, a wearable electronic device, or any other device or combination of circuits structured and configured to communicate with another device, computer, aggregator 210, etc. via Bluetooth or Wi-Fi connection.

Devices 201 may comprise application(s) and user interface(s) (front-end interface) that allows a user to interact with aggregator 210, content sources 231, and management service 232 as well as other servers, services and stored applications and programs thereon (back-end processing). The user interface may be proprietary and may comprise a custom developed mobile or desktop application(s). Alternatively, or in addition to, the user interface may comprise a web browser, mobile browser, or other application or executable code that allows for communication and visualization of information.

Over-the-air broadcast hardware 240 can broadcast over-the-air (OTA) content 241. Antenna 216 can receive OTA content 241. Alternately, antenna 216 can be external to aggregator 210. Antenna 216 can receive OTA content 241 and OTA content 241 can be transferred to aggregator 210 via coaxial cable. Antenna 216 can be compatible for receiving one or more of: NTSC, ATSC, DVB-T and DVB signals.

Network 230 can be a local area network (LAN), wide area network (WAN) or even the Internet. Network 230 includes content sources 231 and management service 232.

Management service 232 can manage users that utilize content aggregation. For example, management service 232 can keep credentials for users that use subscription content sources. Management service 232 can login to subscription content sources on behalf of a user so that content from the subscription content sources can aggregated with other (e.g., OTA) content. As depicted, management service 232 includes authentication 233.

A user can perform a single login to manage service 232 using authentication 233. Once logged in, management service can then access subscription content on behalf of the logged in user. For example, user 251 can perform single login 249 with authentication 233. Accessed content sources can include content sources in content sources 231 for which user 251 has a subscription. A single login can include entering a PIN, biometric data (e.g., voice recognition, etc.), a password. In one aspect, a single login using multiple types of data, such as, for example, multiple forms of biometric data, a form of biometric data and a PIN, etc.

After user 251 is logged into management service 232, management service 232 can then access content (e.g., subscription) sources on behalf of user 251. For example, content sources 231 can send (e.g., stream) over-the-top (OTT) content 242 to aggregator 210 for user 251. Communication interface 212 can receive OTT content 242 from content sources 231. Communication interface 212 can include a LTE chip or other equivalent cellular chip (e.g., WiMax, CDMA, EDGE, 5G, GPRS, GSM, etc.) for wireless communications and broadband access. Communication interface 212 can also include a Wi-Fi interface, a Bluetooth interface, or wired (e.g., Ethernet) interface. OTA content 241 or portions thereof and/or OTT content 242 or portions thereof can be transmitted through communication interface 212 to a device 201.

Aggregator 210 can also include components for amplifying and/or control signals, including signals received via antenna 216.

Aggregator 210 can include an operating system, such as, for example, Android, iOS, Windows, Linux, etc. Aggregator 210 can include telephony components and input/output for providing voice over IP services. Aggregator 210 can a digital video recorder (DVR) or personal video recorder (PVR) to record various media content (e.g., stored in storage 215). The recorder can be structured and configured to capture a plurality of streams or content simultaneously.

In one aspect, aggregator 210 supports a plurality of antennas for separately receiving authorized content to separate residents living in close proximity.

Aggregator 210 can formulate links for accessing different content (e.g., different channels) in OTA content 241. Aggregator 210 can also formulate links for accessing content from different content sources (e.g., different applications, application servers, network locations, subscription services, etc.) in OTT content 242. Aggregator 210 can aggregate the formulated links in aggregated content links 243. For example, aggregated links 243 can include links for one or more channels of OTA content 241 and links for one or more of content sources 231 (e.g., one or more applications, one or more application servers, one or more network locations, subscription services, etc.). Aggregator 210 send aggregate content links through communication interface 212 over network 230 to a device 201.

The device 201 can present aggregated content links 243 at a display (e.g., in a content (channel) guide). User 251 can make selection 244 (of one or more of aggregated content links 143) at the device 201. The device 201 can send selection 244 over network 230 through communication interface 212 to aggregator 210. Aggregator 210 can identify content 246 corresponding to any selected link. Aggregator 210 can send content 146 through communication interface 212 over network 230 to the device 201.

In one aspect, selection 244 selects multiple links from aggregated content links 243. Aggregator 210 identifies a content source corresponding to each selected link. Aggregator 210 aggregates the content from the identified content sources into content 246. For example, aggregator 210 can aggregate content from a channel of OTA content 241 and from an application of OTT content 242. Aggregator 210 can send aggregated content 246 through communication interface 212 over network 230 to the device 201.

Accordingly, aspects of the invention include aggregating access to and presentation of media content based on a single authentication, wherein the media content includes over-the-air (terrestrial) content and Internet content.

In this description and the following claims an “application server” or “third party server” is defines as at least one computer having appropriate hardware and applications installed thereon for the provision of server services including web and other functional services described herein, such that a user may access, execute, and/or view the applications remotely from a device 201. More specifically, application servers or third party servers may comprise general purpose computers, specialized computers, or other hardware components structured and configured to receive, process, transmit, and store information to and from other devices.

Application servers or third party servers can be further configured with executable or interpretable computer code that facilitates performance the processes described within this application.

For example, in one aspect, aggregator 210 is an application or third party server comprising a central processing unit (CPU) 211, which may be a single core or multi core processor, memory 214 (random-access memory, read-only memory, and/or flash memory) or primary memory for high-speed storage of executing programs electronic storage unit 215 (e.g., hard disk) or secondary memory for storing data, communications interface 212 (e.g., a network adapter) for communicating with other devices or computers over a network, and/or peripheral device interface 113 in communication with the CPU 111 that enable input/output from aggregator 210.

Aggregator 210 can implement the aspects of the invention using any number of solution stacks (i.e., a set of software subsystems or components) known to an ordinary computer or web programmer skilled in the art. These solution stacks may include, without limitation, ZEND Server, APACHE Server, NODE.JS, ASP, PHP, Ruby, XAMPP, LAMP, WAMP, MAMP, WISA, LEAP, GLASS, LYME, LYCE, OpenStack, Ganeti, MEAN, MEEN, XRX, and other past, present, or future equivalent solution stacks, or combinations thereof known to those skilled in the art that allows a programmer to develop the methods and computer programs described within this application.

The software stack may be implemented with third-party cloud platforms, for example using load balancing and virtualization software provided by Citrix, Microsoft, VMware, Map-Reduce, Google Filesystem, Xen, memory caching software such as Memcached and Membase, structured storage software such as MySQL, MariaDB, XtraDB, etc. and/or other appropriate platforms, various packaged web services such as those provided by Amazon Web Services (AWS). Of course, these solution stacks may also be deployed in cloud platforms by using known development tools an server hosting services such as GitHub and Rackspace, as well as their equivalents.

Network 230 (or 130) may comprise at least two computers in communication with each other, which may form a data network such as via LAN, WAN, Serial, Z-WAVE, ZIGBEE, RS-485, MODBUS, BACNET, the Internet, or combinations thereof. The connections may be facilitated over various wired and/or wireless mediums or any combination thereof including interconnections by routers and/or gateways. Network 230 (or 130) may comprise additional hardware components and/or devices appropriate for facilitating the transmission and communication between the various systems and devices of the present invention, such as those directed to integrated authentication, quality control or to improve content delivery such as via a content delivery network (CDN).

In one aspect, aggregator 210 is deployed on one or more computers as an installable software.

Various aspects of the present invention may be thought of as “products” or “articles of manufacture” typically in the form of machine (or processor) executable code, interpretable code, and/or associated data that is carried on or embodied in a machine readable medium. Machine-executable code can be stored on an electronic storage unit, such memory (e.g., read-only memory, random-access memory, flash memory) or a hard disk, as described above.

All or portions of the software may at times be communicated through the Internet or other communication networks. Such communications, for example, may enable loading of the software from one computer or processor onto another, for example, from a management server or host computer onto the computer platform of an application server, or from an application server onto a client computer or device. Thus, another type of media that may bear the software elements includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, tangible “storage” media, terms such as computer or machine “readable medium”, refer to any medium that participates in providing instructions to a processor for execution. Further, the term “non-transitory” computer readable media includes both volatile and non-volatile media, including RAM. In other words, non-transitory computer media excludes transitory propagating signals per se, but includes at least register memory, processor cache, RAM, and equivalents thereof.

Therefore, a machine readable medium, such as computer executable code, may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or physical transmission medium. Non-volatile storage media include, for example, optical, magnetic, or solid state disks, such as any of the storage devices in any computer(s) or the like, such as may be used to house the databases. Volatile storage media include dynamic memory, such as main memory of such a computer platform. Tangible transmission media may include coaxial cables, copper wire and fiber optics, communication buses. Carrier-wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a ROM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.

And over all example according to FIG. 2 will now be given. The aggregator 210 is accessed by a user 251 using a computer 201. The user 251 uses a single login 249 over a network 232 authenticate with the aggregator 210. The single login 249 uses authentication 233 to access management services 232 to identify content sources 231 available to that particular user 251.

In this example the user 251 has paid for premium content from a content source 231 that includes special movies, sporting events, and other media content.

As the aggregator 210 is turned on, activated, or use of is initiated, a media content entry customized for the user 251 is displayed. The media content includes a personalized greeting, recognition of the owner of the aggregator 210 and information about services available to the user 251.

The aggregator 210 creates a number of aggregated content links 243 that are displayed for a user 251. The user may make a selection 244 based on the aggregated content links. The selection is then communicated to the aggregator 210. The aggregator 210 then begins to send the content to a device selected by the user 251.

The user, in this example, then switches from the computer, to a personal handheld device. The media played on the computer is then transferred to the personal handheld device.

Aggregation Methods

FIG. 3 illustrates a flow chart of an example method 300 for aggregating access to and delivery of media content. Method 300 will be described with respect to the components and data in computer architectures 100 and 200.

Method 300 includes obtaining a plurality of media content at an aggregator (301). For example, aggregator 110 can obtain OTA content 141 and OTT content 142. Similarly, aggregator 210 can obtain OTA content 241 and OTT content 242. A plurality of content can include television content, Internet media content comprising live streams and/or pre-recorded content, gaming content, music content, media-on-demand content, other media content whether over-the-air signals, or by Internet or local networks, and/or combinations thereof. For example, television content may be obtained via a coaxial in to the aggregator deployed as a set top box or router, and Internet content may be spidered or crawled from the web, or may be updated or directed from a central application server service in communication with the aggregator.

Thus, method 300 can include obtaining television content (301A) and obtaining Internet media content (301B).

In one aspect, language consolidation and/or interpretation may be deployed as part of the aggregator.

In another aspect, a particular content may be associated with multiple locations, i.e. such as a major network having an affiliate in each major city. As such, the feeds for all cities or affiliates may be obtained at the aggregator by various communication mediums, and a user may select geographically which feed to display. In other embodiments, geolocation capability of a user's device may be detected automatically by the aggregator in order to display an appropriate and/or authorized stream to the user device.

Method 300 includes displaying an aggregation of links to the plurality of media content via a single graphical user interface (302). For example, aggregator 110 can display aggregated content links 143 on a GUI at display 150. Similarly, aggregator 210 can display aggregated content links 243 on a GUI at a device 201.

FIG. 4 depicts an example graphical user interface in the form of hybrid channel guide 400. Hybrid channel guide 400 includes a media description portion 401, a media or video preview portion 402, and a channel or program listing 403 across a plurality of content sources. Hybrid channel guide 400 can include a numerical channel listing which may be segregated into channel blocks, may be sequential, and/or may be custom set by a user. Aggregated content links 143 and/or aggregated content links 243 can be arranged within a hybrid channel guide similar to hybrid channel guide 400.

The media or video preview portion 400 to may display a welcome or introduction based on the aggregator 110 owner, the location, where user preferences. Advertisements selected for the user including advertisers for the aggregator owner, or media content available may be played.

In one aspect, method 300 includes automatically and dynamically apportioning the media content as a numerical channel listing (302A). For example, aggregator 110 can automatically and dynamically apportion OTA content 141 and OTT content 142 as a numerical channel listing in aggregated content links 143. Similarly, aggregator 210 can automatically and dynamically apportion OTA content 241 and OTT content 242 as a numerical channel listing in aggregated content links 243. A numerical channel listing can be automatically and dynamically apportioned by an aggregator as additional content becomes available and/or unavailable.

In another aspect, method 300 includes manually assigning at least one channel to at least one content by a user (302B). For example, user 151 can assign a channel in aggregated content links 143 for a portion of content in OTA content 141 or OTT content 142. Similarly, user 251 can assign a channel in aggregated content links 243 for a portion of content in OTA content 241 or OTT content 242.

In further aspects, different media content may be sorted categorically.

Method 300 includes receiving a selection of one or more links via the single graphical user interface (303). For example, aggregator 110 can receive selection 144 from user 151. Similarly, aggregator 210 can receive selected 244 from user 251.

Method 300 includes providing access to media content corresponding to the selected one or more links via the graphical user interface (304). For example, aggregator 110 can provide user 151 with access to (potentially aggregated) content 146. Similarly, aggregator 210 can provide user 251 with access to (potentially aggregated) content 246.

In one aspect, the plurality of media content may be accessible via the aggregator over the Internet, via the same or a separate graphical user interface. Accordingly, the aggregator in this aspect may comprise server services as described and/or additional video or music streaming services accessible by a separate device in communication with the aggregator over the Internet or a local network.

FIG. 5 illustrates a flow chart of an example method 500 for aggregating access to and delivery of media content. Method 500 can be implemented to aggregate media content from different content sources and provide the aggregated content over a network.

Method 500 includes under the control of an aggregator, receiving one media content by over-the-air signals and receiving another media content over the Internet (501). For example, aggregator 210 can receive OTA content 241 and OTT content 242. Method 500 includes aggregating and encoding the media content (502). For example, aggregator 210 can aggregate OTA content 241 and OTT content 242 together into content 146 and encode content 146. Aggregator 210 can encode content 246 such that it is decodable via a corresponding software and/or end user or client device.

Method 500 includes displaying media content via graphical user interface (503). For example, aggregator 210 can display aggregated content 246 at the device 201.

Displaying media content via graphical user interface can include receiving a request to display the media content over the internet via a graphical user interface (504). For example, aggregator 210 can receive selection 244 from a device 201. Selection 244 can be a selection of links requesting display of aggregated content 246 at the device 201. Displaying media content via graphical user interface can include checking the location of the client device for eligibility of transmission (505). For example, aggregator 210 can check the location of the device 201 for eligibility of transmission of aggregated content 246. Displaying media content via graphical user interface can include transmitting the requested media content to the client device upon determining eligibility (506). For example, aggregator 210 can transmit aggregated content 246 to the device 201 upon determining eligibility of the device 201.

Other aspects of the present invention relate to methods of providing an inclusive hardware and software solution as a service as an alternative to cable television. Accordingly, in one aspect an application server or router includes an aggregator for aggregating a plurality of media content as described above from the Internet and from various over-the-air signals across the globe (including UHF/VHF, ATSC, DVB, and other equivalent reception). Software at the application server or router may provide for metadata extraction tools, live linking methods to ensure Internet link validity.

In one aspect, a video game platform may be provided, for download, demoing, renting and/or purchasing various video games and/or apps.

Individual components or elements of the system and method may be used interchangeably. The order of the method or processes described above may be arranged in any combination in various embodiments. In some embodiments, various steps may be omitted.

It should also be understood that the above methods may exist as other embodiments when not in operation. Specifically, a computer program may exist on a non-transitory storage medium such as a hard disk, flash drive, nonvolatile memory, or other storage device, which captures the operational processes and characteristics described above, and which may be executed by a computer or other device to perform the method described above.

The computer program may be written in any programmable or interpretable language known to a person reasonably skilled in the art, including but not limited to C, C++, C#, Ruby, Java, Dart, Rust, Swift, PHP, Perl, HTML, XHTML, and other equivalent languages and past, present and future variations.

Further, a physical system may also be designed by employing existing components and hardware known to those of ordinary skill in the art, such as to effect the operation of the method described above in a general purpose computer, a specialized computer or machine, as a software on chip, or as part of other integrated circuits or combination of circuitry and components.

Another Architecture

FIG. 6 illustrates an example architecture 600 for providing aggregated media content along with wireless connectivity. Within demarcation room 611, OTA content 601 can be received at a digital antenna. OTT content 602 can be received via one or more inbound Internet Service Providers (ISPs) from the Internet. Router 607 can aggregate OTT content from different ISPs into OTT content 602.

OTA content 601 and OTT content 602 can be sent via coaxial cable to guest room 612 (e.g., in a hotel or dorm). At guest room 612, OTA content 601 can be routed to internal digital tuner 607. Internal digital tuner 607 can tune to a particular channel within OTA content 601. OTA content for the tuned channel can be sent to aggregator 603.

OTT content 602 can be routed to aggregator 603. Aggregator 603 can aggregate OTA content for the tuned channel and OTT content 602 into aggregated content 604. Aggregator 603 can send aggregated content 604 to in-room screen 608. In-room screen 608 can display aggregated content 604.

A tenant of room 612 can use a link tablet, laptop, or mobile device to wirelessly communicate with aggregator 603 through WiFi router 606. The tenant can send command to aggregator 603 to select content for aggregation, select links from a channel guide, etc. WiFi router 606 can also provide general wireless access for the link tablet, laptop, or mobile device (as well as other devices) to access the Internet.

In this description and the following claims, Media over Coax Alliance (“MoCA”) is defined as the international standards consortium publishing specifications for networking over coaxial cable, including MoCA 1.1, MoCA 2.0, and MoCA 2.5.

Example Architecture

FIG. 7 illustrates an example of an aggregator 110 according to one example of the principles described herein. In this example, the aggregator 110 includes a desktop launcher 720, a subscription management 721, streaming apps 722, television broadcasts 723, advertisement player 724, mobile device management 725, a television tuner 726, a router 727, and a network interface card 728.

The aggregator 110 may be communicatively connected to a smart phone 740, a television 741, an input device 742, or other input or output devices. The aggregator 110 may use wireless technology such as Wi-Fi or Bluetooth™ technologies to communicate with input or output devices such as the smart phone 740, the television 741 or the input device 742. The aggregator 110 may use wired technology to communicate with input or output devices. Some input and output devices, such as the smart phone 740, the television 741, or the input device 742 may be associated with a user.

The aggregator 110 maybe obtain data through a central server 750. The central server 750 may provide information and content to the aggregator 110. The central server 750 may obtain content through a content broadcaster 760. The content broadcaster may communicate with the central server via wireless broadcasting such as VHF or UHF broadcasting, AM or FM radio, satellite, or other means of wide area content broadcasting. The central server 750 may obtain content over the cloud 761. The cloud 761 represents a number of computing devices associated with and accessible over a computer network often referred to as the Internet, which may use a routable communication protocol such as TCP/IP v4 or TCP/IP v6. Various and assorted content providers may be accessible via the cloud such as Netflix™, YouTube™, Amazon Prime™, Hulu™, or an Internet service associated with a broadcast provider or's other such similar content providers.

The aggregator 110 may include a number of subsystems. The subsystems may be implemented as software, hardware, or combination thereof

The desktop launcher 720 may provide content to any of a number of user devices 740, 741, 742. The desktop launcher 720 may provide an interface for a user device to interact with the aggregator 110.

Subscription management 721 may manage subscription content to various content providers associated with a user of any number of user devices 740, 741, 742. For example, the subscription management 721, may recognize that the user is paid for premium service such as a live sports broadcast and may control access to such content.

Implementations may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more computer and/or hardware processors (including Central Processing Units (CPUs) and/or Graphical Processing Units (GPUs)) and system memory, as discussed in greater detail below. Implementations also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are computer storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, implementations can comprise at least two distinctly different kinds of computer-readable media: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, Solid State Drives (“SSDs”) (e.g., RAM-based or Flash-based), Shingled Magnetic Recording (“SMR”) devices, Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.

In one aspect, one or more processors are configured to execute instructions (e.g., computer-readable instructions, computer-executable instructions, etc.) to perform any of a plurality of described operations. The one or more processors can access information from system memory and/or store information in system memory. The one or more processors can (e.g., automatically) transform information between different formats.

The subscription management 721 may be in communication with a number of streaming apps 722. The streaming apps 722 may stream content to a user device 740, 741, 742 to allow a user to view content to which the user has subscribed on a mobile device.

The aggregator 110 may include a television broadcast 723. Television broadcast may use a TV tuner 726 two receive broadcast television shows generally available. The television broadcast 723 may use an encryption and decryption scheme or other methods of processing the broadcast signal received via the TV tuner 726.

The advertisement player 724 may receive, store, or play advertisements for a user on a user device 747, 741, 742. The advertisement player 724 may obtain advertisements from a central server 750. The advertisement player 724 may play advertisements as the aggregator 110 is activated. The advertisement player 724 may identify advertisements that are directed at the user of a user device 740, 741, 742. The advertisement player 724 may play advertisements for the sale of goods or services that may be of interest to the user. The advertisement player 724 may play emergency broadcast messages that are relevant to the time, location, or interest of the user.

The aggregator 110 may include a mobile device management 725. The mobile device management 725 may control access and content that is sent to a number of user devices 740, 741, 742. The mobile device management 725 may allow for a user to view part of content on a first device 740 and then move and resume viewing the content on a second device 741.

The aggregator 110 may include a router 727. The router 727 may allow the aggregator 110 to relay content from a provider directly to a portable user device 740, 741, 742.

System memory can be coupled to the one or more processors and can store instructions (e.g., computer-readable instructions, computer-executable instructions, etc.) executed by the one or more processors. The system memory can also be configured to store any of a plurality of other types of data generated and/or transformed by the described components.

The aggregator 110 may include a number of network interface cards or NICs 728. The network interface card may allow the aggregator 110 to communicate with other devices over a network. The network interface card 728 may provide for wired connection to a network or wireless connection to a network. The network interface card may interact with the router to route traffic through the aggregator 110.

A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.

Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (devices) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media (devices) at a computer system. Thus, it should be understood that computer storage media (devices) can be included in computer system components that also (or even primarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions and data which, in response to execution at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.

Those skilled in the art will appreciate that the described aspects may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, wearable devices, multicore processor systems, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, routers, switches, and the like. The described aspects may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

Further, where appropriate, functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein. In another example, computer code is configured for execution in one or more processors, and may include hardware logic/electrical circuitry controlled by the computer code. These example devices are provided herein purposes of illustration, and are not intended to be limiting. Embodiments of the present disclosure may be implemented in further types of devices.

The described aspects can also be implemented in cloud computing environments. In this description and the following claims, “cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing can be employed in the marketplace to offer ubiquitous and convenient on-demand access to the shared pool of configurable computing resources (e.g., compute resources, networking resources, and storage resources). The shared pool of configurable computing resources can be provisioned via virtualization and released with low effort or service provider interaction, and then scaled accordingly.

A cloud computing model can be composed of various characteristics such as, for example, on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud computing model can also expose various service models, such as, for example, Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud computing model can also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth. In this description and in the following claims, a “cloud computing environment” is an environment in which cloud computing is employed.

The various components depicted in described computer architectures can be connected to (or be part of) a network, such as, for example, a system bus, a Local Area Network (“LAN”), a Wide Area Network (“WAN”), and even the Internet. Accordingly, the various components as well as any other connected computer systems and their components can create and exchange message related data (e.g., Internet Protocol (“IP”) datagrams and other higher layer protocols that utilize IP datagrams, such as, Transmission Control Protocol (“TCP”), Hypertext Transfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”), Simple Object Access Protocol (SOAP), etc. or using other non-datagram protocols) over the network.

In some aspects, a computer system comprises one or more hardware processors and system memory. The one or more hardware processors execute instructions stored in the system memory to automatically perform any of the described functionality. In other aspects, computer implemented methods can be used to perform any of the described functionality. In further aspects, computer program products include computer-executable instructions, that when executed at a processor, cause a computer system to perform any of the described functionality.

The present described aspects may be implemented in other specific forms without departing from its spirit or essential characteristics. The described aspects are to be considered in all respects only as illustrative and not restrictive. The scope is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. Any headings are for convenience only and shall not be construed to limit the meaning of the application. 

What is claimed:
 1. A computer system, the computer system comprising: a processor; a system memory coupled to a hardware processor, the system memory storing instructions that are executable by the processor; the processor executing the instructions stored in the system memory to aggregate content from different content sources, including the following: obtain television content via broadcast media source; obtain other media content via an internet-connected network communication; formulate a first link for the television content; formulate a second link for the other media content; aggregate the first link and the second link in a hybrid channel guide; send the hybrid channel guide to a device for presentation at a graphical user interface at the device; receive a selection of the first link and the second link from the device; aggregate the television content and the other media content into aggregated content; and send the aggregated content to the device for presentation at the graphical user interface.
 2. The computer system of claim 1, further comprising the processor executing the instructions stored in the system memory to verify an eligibility of the device to receive the aggregated content.
 3. The computer system of claim 1, wherein the processor executing the instructions stored in the system memory to aggregate the first link and the second link in a hybrid channel guide comprises the processor executing the instructions stored in the system memory to form a numerical channel listing.
 4. The computer system of claim 3, wherein the processor executing the instructions stored in the system memory to form a numerical channel listing comprises the processor executing the instructions stored in the system memory automatically and dynamically apportioning the numerical channel listing as content becomes available or unavailable.
 5. The computer system of claim 1, wherein the processor receives a plurality of television content.
 6. The computer system of claim 1, wherein the processor receives a plurality of media content.
 7. The computer system of claim 6, wherein the plurality of media content originates from a plurality of sources.
 8. An apparatus for providing customized viewing, the apparatus comprising: a processor; a system memory communicatively coupled to the processor, the system memory storing instructions that are executable by the processor; the processor executing the instructions stored on a non-transitory storage medium to aggregate content from different content sources, including the following: a first receive module, the first receive module receiving a first media content from a broadcast media source; a second receive module, the second receive module receiving second media content using a network interface card; a first link formulating module, the first link formulating module formulating a first link for the first media content; a second link formulating module, the second link formulating module formulating a second link for the second media content; an aggregate module, the aggregate module aggregating the first link and the second link in a hybrid channel guide; a send module, the send module sending the hybrid channel guide to a device for presentation at a graphical user interface at the device; a selection receive module, the selection receive module receiving a selection of the first link and the second link from the device; a content aggregate module, the content aggregate module aggregating the television content and the other media content into aggregated content; and, an aggregate send module, the aggregate send module sending the aggregated content to the device for presentation at the graphical user interface.
 9. The apparatus of claim 8, wherein the non-transitory storage medium further comprises an autoplay module, the autoplay module displaying an amount of content as the device is turned on.
 10. The apparatus of claim 9, the autoplay module receiving the amount of content from a content source to be displayed as the device is turned on.
 11. The apparatus of claim 10, the autoplay module using information about the device to select the amount of content to be displayed as the device is turned on.
 12. The apparatus of claim 11, the autoplay module using information about an intended user to select the amount of content to be displayed as the device is turned on.
 13. The apparatus of claim 12, the autoplay module using information about an owner of the device to select the amount of content to be displayed as the device is turned on includes information about an owner of the device.
 14. The apparatus of claim 13, the autoplay module using information about a geographic location of the device to select the amount of content to be displayed when the device is turned on includes information about the geographic location of the device.
 15. The computer program product comprising a number of modules, each module causing a computer to perform a particular task, the computer program product comprising: a content receive module, the content receive module causing the computer to receive content using an antenna associated with the computer; a media receive module, the media receive module causing the computer to receive media content using a network interface card; a first link formulating module, the first link formulating module formulating a first link to content received by the content receive module; a second link formulating module, the second link formulating module formulating a second link to media content received by the media receive module; a link aggregate module, the link aggregate module aggregating the first link and the second link into an aggregated link; an aggregate link send module, the aggregate link send module sending the aggregated link for display at a graphical user interface; a content aggregate module the content aggregate module aggregating the content received by the content receive module and the content received by the media receive module; an aggregated content send module, the aggregated content send module sending the aggregated content for presentation at the graphical user interface.
 16. The computer program product of claim 15, further comprising a startup module, the startup module preparing startup media content to be displayed at a graphical user interface.
 17. The computer program product of claim 16 wherein the start of module receives information regarding a user.
 18. The computer program product of claim 16 wherein the information regarding a user includes user preferences.
 19. The computer program product of claim 16 wherein the startup module receives advertising information.
 20. The computer program product of claim 16 wherein the startup module receives emergency information to be relayed to a user. 